Method, system and apparatus for causing a communication device to join a communication session

ABSTRACT

According to embodiments of the present invention, there are provided a method, system and apparatus for joining a communication session. A method comprises receiving from a first communication device an indication of a desire of the first communication device to establish a communication session; the first communication device having been associated with a device group comprising the first communication device and at least one second communication device. The method further comprises determining if there exists an active communication session with the at least one second communication device. The method further comprises, responsive to existence of the active communication session, causing the first communication device to join the active communication session.

FIELD OF THE INVENTION

This invention relates to the field of telecommunications in generaland, more specifically, to a method, system and apparatus for causing acommunication device to join a communication session.

BACKGROUND OF THE INVENTION

In most developed countries of the world, customers have access to amyriad of communication devices for satisfying their communicationneeds. These communication devices include office telephones, hometelephones, wireless communication devices, desktops, laptops, set-topboxes, gaming devices, etc. Each of these communication devices usuallyserves a somewhat distinct need. For example, the office telephone islikely to be primarily used for effecting business-relatedcommunications during business hours. The home telephone, on the otherhand, is more likely to be used by the customer for effecting personalcommunications when at home. A wireless communication device is morelikely to be used for effecting communications while on the go. Each ofthese communication devices has different costs associated with usingthem for effecting communications. For example, effecting communicationsusing the wireless communication device is likely to incur a somewhathigher per-minute-cost than, for example, using the home telephone.Accordingly, when the customer wishes to place a telephone call while athome, the customer is more likely to wish to do so using the hometelephone in order, for example, to control costs. On the other hand,when the customer is in his vehicle on the way home, the customer islikely to use the wireless communication device to place and receivecalls, despite the higher costs.

Occasionally a user of a communication device who is engaged in aconversation may wish to continue the conversation on a differentcommunications device. For example, the user may have started aconversation on her wireless communication device while driving towardsher home. When the user gets home, she may prefer to continue theconversation on her home telephone in order, for example, to bettermanage costs associated with the conversation or not to have to worryabout the wireless communication device's battery or wireless coverage.

Of course, the user may choose to hang up her wireless communicationdevice and to re-establish the call using her home telephone. That,however, interrupts the conversation that is in progress. Furthermore,re-dialling the connection is inconvenient, especially if the user hasto look up a telephone number. Additionally, the user runs the risk ofthe person on the other end being diverted to another call or activitywhile that user redials the connection.

There is therefore a need for a method for causing a communicationdevice to join a communication session that is in-progress, withoutdisrupting the communication and without having to re-dial andre-establishing the connection.

SUMMARY OF THE INVENTION

According to a first broad aspect of the present invention, there isprovided a method. The method comprises receiving from a firstcommunication device an indication of a desire of the firstcommunication device to establish a communication session; the firstcommunication device being associated with a device group comprising thefirst communication device and at least one second communication device.The method further comprises determining if there exists an activecommunication session with at least one of the at least one secondcommunication device and, responsive to existence of the activecommunication session, causing the first communication device to jointhe active communication session.

According to a second broad aspect of the present invention, there isprovided an apparatus. The apparatus comprises means for receiving froma first communication device an indication of a desire of the firstcommunication device to establish a communication session; the firstcommunication device being associated with a device group comprising thefirst communication device and at least one second communication deviceand means for determining if there exists an active communicationsession with at least one of the at least one second communicationdevice. The apparatus further comprises means causing the firstcommunication device to join the active communication session, the meansfor causing being responsive to at least a positive determination thatthere exists an active communication session with the at least onesecond communication device.

According to a third broad aspect of the present invention, there isprovided a system. The system comprises an application server beingoperable to receive from a first communication device an indication of adesire of the first communication device to establish a communicationsession; the first communication device being associated with a devicegroup comprising the first communication device and at least one secondcommunication device. The application server is further operable todetermine if there exists an active communication session with at leastone of the at least one second communication device and, responsive toexistence of the active communication session, to cause the firstcommunication device to join the active communication session.

According to a fourth broad aspect of the present invention, there isprovided a communication device. The communication device isregisterable in association with a device group. The communicationdevice comprises a first functional entity for connecting to acommunication network adapted for handling voice communications; asecond functional entity for receiving spoken utterances from a user tobe conveyed via the first interface and for conveying to the user audiomessages received via the first interface to the user; and a thirdfunctional entity for allowing the user to selectively convey a desireto establish a new communication session or a desire to join an activecommunication session that is in progress with another communicationdevice registered in the device group.

According to another broad aspect of the present invention, there isprovided a computer-readable medium comprising computer-readable programcode which, when executed by a computing apparatus, causes the computingapparatus:

-   -   to receive from a first communication device an indication of a        desire of the first communication device to establish a        communication session; the first communication device being        associated with a device group comprising the first        communication device and at least one second communication        device;    -   to determine if there exists an active communication session        with at least one of the at least one second communication        device; and    -   responsive to existence of the active communication session, to        cause the first communication device to join the active        communication session.

According to yet another broad aspect of the present invention, there isprovided a method. The method comprises (i) engaging a communicationdevice that is associated with a device group; (i) being presented withan option for either effecting an origination of a new communicationsession or effecting joining an active communication session that is inprogress with another communication device registered in the devicegroup; (iii) taking an action to either establish the new communicationsession or to join the active communication session.

These and other aspects and features of the present invention will nowbecome apparent to those skilled in the art upon review of the followingdescription of specific embodiments of the invention in conjunction withthe accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention are described with reference to thefollowing figures, in which:

FIG. 1 is a diagram representing various components of a non-limitingembodiment of an infrastructure for causing a communication device tojoin a communication session;

FIG. 2 is a diagram representing a non-limiting embodiment of a clientmapping maintained by a network element 104 of FIG. 1;

FIG. 3 is a diagram representing a non-limiting embodiment of a clientmapping maintained by a network element 110 of FIG. 1;

FIG. 4 is a diagram representing a non-limiting embodiment of a clientmapping maintained by a network element 118 of FIG. 1;

FIG. 5 is a flow chart representing a non-limiting embodiment of amethod for registration executed within the infrastructure of FIG. 1;

FIG. 6 is a flow chart representing a non-limiting embodiment of amethod for causing a communication device to join an activecommunication session (“in-use”) executed within the infrastructure ofFIG. 1;

FIG. 7 is a diagram representing a non-limiting embodiment of asubscription mapping maintained by an application server of FIG. 1;

FIG. 8 is a flow chart representing another non-limiting embodiment of amethod for causing a communication device to join an activecommunication session (“in-use”) executed within the infrastructure ofFIG. 1;

FIG. 9 is a diagram representing various components of anothernon-limiting embodiment of an infrastructure for causing a communicationdevice to join a communication session;

FIG. 10 is a diagram representing various components of yet anothernon-limiting embodiment of an infrastructure for causing a communicationdevice to join a communication session.

It is to be expressly understood that the description and drawings areonly for the purpose of illustration of certain embodiments of theinvention and are an aid for understanding. They are not intended to bea definition of the limits of the invention.

DETAILED DESCRIPTION OF EMBODIMENTS

FIG. 1 shows various components of an infrastructure for causing acommunication device to join an active communication session. A user 101may have access to several communication devices or, in other words, theuser 101 may be associated with one or more communication devices. Forexample, the user 101 may be associated with a communication device 102a and a communication device 102 b located at a customer premises 102.The customer premises 102 can, for example, comprise a house, a unit ina multi-dwelling (MDU) unit and the like. For the purposes ofestablishing and terminating communication sessions, the communicationdevices 102 a and 102 b may be coupled to a communication network 103.Even though the nature of the communication devices 102 a, 102 b and thecommunication network 103 is interdependent, it is not particularlylimited. In a first non-limiting embodiment of the present invention,the communication network 103 may comprise a Public SwitchedTelecommunication Network (PSTN). Within these embodiments, thecommunication devices 102 a and 102 b may comprise Plain Old TelephoneService (POTS) phones, whether wired or cordless.

In a second non-limiting embodiment of the present invention, thecommunication network 103 may comprise a data network adapted forhandling VoIP calls, such as, a public data network (ex. the Internet)or a private data network (ex. a LAN). Within these non-limitingembodiments of the present invention, the communication devices 102 a,102 b can be implemented in hardware, software, firmware or acombination thereof. In a specific non-limiting example, thecommunication device 102 a may comprise a VoIP phone and thecommunication device 102 b may comprise a computing apparatus executinga soft client for handling VoIP calls. It should be understood that thecustomer premises 102 may comprise one or more additional communicationdevices that may include, but are not limited to, one or more other VoIPphones, one or more wireless VoIP phones (such as, for example, a J2MEwireless phone), one or more Plain Old Telephone System (POTS) phonesequipped with an Analog Terminal Adapter (ATA), one or more othercomputing apparatuses executing soft clients, one or more set-top boxes,one or more gaming devices, a security system and the like. It should benoted that some of these additional communication devices may be coupledto the communication network 103. In alternative embodiments of thepresent invention, which will be described in greater detail withreference to FIG. 9, some or all of these additional communicationdevices may be coupled to a communication network different from thecommunication network 103. The number of communication devices installedwithin the customer premises 102 is not limited other than by businessconsiderations of a service provider who is responsible for delivery oftelephony services to the customer premises 102.

In another non-limiting embodiment of the present invention, thecommunication network 103 may comprise a wireless communication network,such as, for example, a WiMAx or a Wi-Fi based communication network.Persons skilled in the art will appreciate that the communicationnetwork 103 may have other configurations as well.

For the purpose of establishing and terminating communication sessionsvia the communication network 103, each of the communication devices 102a, 102 b can be associated with a network identifier, which identifieseach of the communication devices 102 a, 102 b to the communicationnetwork 103. In the specific scenario where the communication network103 is the PSTN, the communication devices 102 a, 102 b can beassociated with a single telephone number. In an alternativenon-limiting embodiment, the communication devices 102 a, 102 b may beeach associated with a separate telephone number. This is particularlytrue in those embodiments, where the user 101 subscribes to more thanone telephone number at the customer premises 102.

In the specific scenario being presented herein where the communicationnetwork 103 is the data network adapted for handling VoIP calls, thecommunication devices 102 a, 102 b may have network identifiers assignedin the following manner. In a first non-limiting scenario, thecommunication devices 102 a, 102 b may be associated with apseudo-telephone number compatible with the data network adapted forhandling VoIP calls, which may comprise, for example, a SessionInitiation Protocol (SIP) Universal Resource Identifier (URI). To thatend, each of the communication devices 102 a, 102 b may be associatedwith a separate SIP URI. For example, the communication device 102 a maybe associated with a SIP URI identity_(—)1@serviceprovider.com and thecommunication device 102 b may be associated with a SIP URIidentity_(—)2@serviceprovider.com.

In yet another non-limiting scenario, the communication devices 102 a,102 b may be associated with a single SIP URI, but be individuallyaddressable within the single SIP URI. This can be implemented, forexample, by assigning each of the communication devices 102 a, 102 b aunique IP address (or another network identifier). Alternatively, thecommunication devices 102 a, 102 b may be uniquely addressable byanother identifier, such as for example, port numbers associated with ahome gateway (not depicted) responsible for mediating communicationbetween the communication devices 102 a, 102 b and the communicationnetwork 103. In alternative non-limiting embodiments of the presentinvention, the communication devices 102 a, 102 b may be uniquelyaddressable by means of a respective MAC address.

For the purposes of initiating and terminating communication sessionsbetween one or more of the communication devices 102 a, 102 b andanother device coupled to the communication network 103 (or anothercommunication network), via the communication network 103, thecommunication network 103 may comprise a network element 104. In thespecific scenario where the communication network 103 is the PSTN, thenetwork element 104 may comprise a telephony switch. An example networkelement 104 can be embodied in a DMS100 or a DMS200 telephony switchprovided by Nortel Networks Ltd. of 8200 Dixie Road, Brampton, OntarioL6T 5P6, Canada. One skilled in the art will readily appreciate otherpossible configurations of the network element 104.

In the specific non-limiting scenario where the communication network103 is the data network adapted for handling VoIP calls, the networkelement 104 can be embodied in what is sometimes referred to in theindustry as a “soft switch” and comprises circuitry, software and/orcontrol logic for providing various communication features to VoIPclients (such as, for example, the communication devices 102 a, 102 b).Examples of such communication features include (i) connecting incomingcalls to the VoIP clients (such as, for example, the communicationdevices 102 a, 102 b); and (ii) handling outgoing calls originated fromthe VoIP clients (such as, for example, the communication devices 102 a,102 b). Other examples of communication features that can be performedby the network element 104 can include, but are not limited to callforking, call forwarding, and so on. A non-limiting example of thenetwork element 104 can be embodied in a MCS 5200 Soft Switchmanufactured by Nortel Networks Ltd. of 8200 Dixie Road, Brampton,Ontario L6T 5P6, Canada. One skilled in the art will readily appreciateother possible configurations of the network element 104.

For the purposes of establishing and terminating communication sessionsbetween one or more of the communication devices 102 a, 102 b and othercommunication devices coupled to the communication network 103 (oranother communication network), the network element 104 may maintain aclient mapping 104 a. With reference to FIG. 2 a non-limiting embodimentof a client mapping 104 a will now be described in greater detail. Theclient mapping 104 a can be maintained by the network element 104 ofFIG. 1 in an internal database. In the specific non-limiting embodimentdepicted in FIG. 1, the client mapping 104 a is maintained in a separatedatabase accessible to and under control of the network element 104,which is depicted at 104 a in FIG. 1. In alternative non-limitingembodiments of the present invention, the database 104 a may be coupledto the network element 104 via a direct link, or may be accessible bythe network element 104 via the communication network 103 or anothercommunication network.

For the sole purpose of simplifying the description to be presentedherein below, it is assumed that the communication network 103 is thedata network adapted for handling VoIP calls, the communication device102 a comprises a VoIP phone and the communication device 102 bcomprises a computing apparatus executing a soft client. It is furtherassumed that the communication network 103 implements an addressingscheme in accordance with IPv4 protocol. It is further assumed that thecommunication devices 102 a, 102 b and the communication network 103implement a shared communication protocol, such as for example SIP.However, it should be expressly understood that other addressing schemesand communication protocols can be used.

The client mapping 104 a may maintain a plurality of records, such asrecords 200 a and 200 b. Each of the records 200 a and 200 b maymaintain information about communication device(s) that the networkelement 104 serves, such as for example, communication devices 102 a,102 b. Each of the records 200 a and 200 b may maintain a relationshipbetween an identifier 202, an address 204 and a telephony feature 206.In a specific non-limiting embodiment, the identifier 202 may comprisean alias or another identifier of a user (such as the user 101), whom arespective communication device is registered to. Some non-limitingexamples of the identifier 202 include, but are not limited to, a useraccount, a proprietary identifier, a network address and the like. Inthe specific non-limiting embodiment to be presented herein below, theidentifier 202 comprises a SIP URI address assigned on a per useraccount basis or, in other words, all communication devices registeredto the same user are associated with the same identifier 202. In thenon-limiting example to be presented herein below, communication devices102 a, 102 b may be both associated with a single SIP URI“4162223333@serviceprovider.com”.

The address 204 may comprise an indication of a network address of theparticular communication device, such as, for example, an IP address.The telephony feature 206 may comprise an indication of what telephonyfunctions the user of the particular communication device is asubscriber to. Examples of telephony features indications of which canbe stored within telephony feature 206 include, but are not limited to,“call waiting”, “voicemail”, “three way calling”, “differentiatedringing” and the like.

According to non-limiting embodiments of the present invention, anothertelephony feature an indication of which may be stored within thetelephony feature 206 comprises an “active communication session join”or “ACSJ” feature. How the ACSJ feature is provisioned in notparticularly limited. In the specific example being presented herein,the ACSJ feature may be provisioned as a trigger within the telephonyfeature 206. For example, in the non-limiting embodiments of the presentinvention where the communication network 103 comprises the PSTN, theACSJ feature may be provisioned as an Off Hook Delay (OHD) trigger inassociation with the telephony feature 206. One skilled in the art willappreciate that other type of triggers (such as, for example, anotherAIN trigger) can be used. In an alternative non-limiting embodiment ofthe present invention, the ACSJ feature may be provided automatically toall subscribers served by the network element 104 and, as such, theremay be no need for provisioning of the ACSJ feature within the clientmapping 104 a.

The record 200 a may be associated with the communication device 102 a.As such, the identifier 202 of the record 200 a may comprise an alias ofthe user 101 to whom the communication device 102 a is registered or, inother words, who is the subscriber to communication services at thecustomer premises 102, such as, a SIP URI4162223333@serviceprovider.com. It should be expressly understood thatany other suitable form of the identifier 202 can be used, such as anumerical value, an alpha-numerical value, etc. The address 204 of therecord 200 a may comprise the IP address associated with thecommunication device 102 a, such as, for example, an IP address“64.230.200.101”. The telephony feature 206 of the record 200 a cancomprise “call waiting” and “ACSJ” indicative that the user 101 at thecommunication device 102 a is a subscriber to the call waiting feature,as well as the active communication session join feature contemplatedherein.

In a similar manner, the record 200 b can be associated with thecommunication device 102 b. Since in the non-limiting example beingpresented herein, the communication device 102 b is associated with thesame user 101 at the same customer premises 102 as the communicationdevice 102 a, the identifier 202 of the record 200 b can comprise analias of the user 101 who is the subscriber to communication services atthe customer premises 102, such as, a SIP URI4162223333@serviceprovider.com. It should be expressly understood thatany other suitable form of the identifier 202 can be used, such as anumerical value, an alpha-numerical value, etc. The address 204 of therecord 200 b may comprise the IP address associated with thecommunication device 102 b, such as, for example, an IP address“64.230.200.102”. The telephony feature 206 of the record 200 b cancomprise “call waiting” and “ACSJ” indicative that the user 101 at thecommunication device 102 b is a subscriber to the call waiting feature,as well as the active communication session join feature contemplatedherein.

The client mapping 104 a may maintain a number of additional records,jointly depicted at 200 n. These additional records 200 n may beassociated with other communication devices of the infrastructure ofFIG. 1 served by the network element 104 and which have been omitted forthe sake of simplicity. How the client mapping 104 a is populated is notparticularly limited. In a specific non-limiting embodiment of thepresent invention, the client mapping 104 a may be populated during aregistration process of the communication devices 102 a, 102 b. In somenon-limiting embodiments of the present invention, the communicationdevices 102 a, 102 b may perform the registration process, when thecommunication devices 102 a, 102 b are powered on for the first time. Inan alternative non-limiting embodiment of the present invention, thecommunication devices 102 a, 102 b may perform the registration processafter being unplugged and moved to a new location. In yet furthernon-limiting embodiments of the present invention, the communicationdevices 102 a, 102 b can perform the registration process on-demand, forexample, when triggered by the user 101, by an application executed onthe communication devices 102 a, 102 b or by an application executed onanother device in the customer premises 102 or connected to thecommunication network 103. For example, each of the records 200 a-200 nmay be assigned an “expiry” indicator. The expiry indicator can be setby the network element 104, it can be requested by the communicationdevice submitting a registration request or it can comprise a defaultvalue (ex. 3600 seconds or the like). When the “expiry” indicatorexpires or shortly thereafter, the network element 104 may cause therespective communication device associated with the expired record 200a-200 n to re-execute the registration process.

Naturally, the customer premises 102 may have other users who can usethe communication device 102 a, 102 b such as, for example, a user 101′.

Within the infrastructure of FIG. 1, the user 101 may be furtherassociated with a communication device 106. The communication device 106can be, for example, embodied in a work telephone located at a place ofwork (not depicted) where the user 101 works. For the purposes ofestablishing and terminating communication sessions, the communicationdevice 106 may be coupled to a communication network 108. Even thoughthe nature of the communication device 106 and the communication network108 is interdependent, it is not particularly limited.

In a first non-limiting embodiment of the present invention, thecommunication network 108 may comprise a Public SwitchedTelecommunication Network (PSTN). Within these embodiments, thecommunication device 106 may comprise a Plain Old Telephone Service(POTS) phone. In a second non-limiting embodiment of the presentinvention, the communication network 108 may comprise a Private BranchExchange (PBX). Within these non-limiting embodiments, the communicationdevice 106 may comprise a Plain Old Telephone Service (POTS) phone or anISDN phone. In a third non-limiting embodiment of the present invention,the communication network 108 may comprise a data network adapted forhandling VoIP calls, such as, a public data network (ex. the Internet)or a private data network (ex. a LAN). Within these embodiments of thepresent invention, the communication device 106 can be implemented inhardware, software, firmware or a combination thereof. In a specificnon-limiting example, the communication device 106 may comprise a VoIPphone. It should be understood that within these non-limitingembodiments, the communication device 106 may be also embodied in aPlain Old Telephone System (POTS) phone equipped with an Analog TerminalAdapter (ATA), other computing apparatuses executing soft clients, etc.

For the purposes of the description to be presented below, it is assumedthat the communication network 108 comprises the PSTN and thecommunication device 106 comprises a POTS phone. For the purpose ofestablishing and terminating communication sessions via thecommunication network 108, the communication device 106 is associatedwith a network identifier, which identifies the communication device 106to the communication network 108. In the specific scenario beingpresented herein, the communication device 106 can be associated with atelephone number. In alternative embodiments of the present invention,which are particularly applicable where the communication network 108 isthe PBX, the communication device 106 may be associated with a PBXextension.

For the purposes of initiating and terminating communication sessionsbetween the communication device 106 and another device coupled to thecommunication network 108 (or another communication network, such as forexample, the communication device 102 a coupled to the communicationnetwork 103) via the communication network 108, the communicationnetwork 108 may comprise a network element 110. In the specific scenariobeing presented herein where the communication network 108 is the PSTN,the network element 110 may comprise a telephony switch. An examplenetwork element 110 can be embodied in a DMS100 or a DMS200 telephonyswitch provided by Nortel Networks Ltd. One skilled in the art willreadily appreciate other possible configurations of the network element110.

The user 101 may also be associated with a communication device 112,which in a non-limiting example, may be located at a vacation propertyassociated with the user 101, such as a cottage. In the specific examplebeing presented herein, where the communication network 108 comprisesthe PSTN, the communication device 112 may be also coupled to thecommunication network 108. The communication device 112 may comprise aPOTS phone, whether wired or wireless. The communication device 112 maybe also associated with a telephone number, such as a telephone number“222.333.4444”.

For the purposes of establishing and terminating communication sessionsbetween the communication device 106 or the communication device 112 andother communication devices coupled to the communication network 108 (oranother network, such as for example the communication network 103), thenetwork element 110 may maintain a client mapping 110 a. With referenceto FIG. 3, a non-limiting embodiment of a client mapping 110 a will nowbe described in greater detail. The client mapping 110 a can bemaintained by the network element 110 of FIG. 1 in an internal database.In the specific non-limiting embodiment depicted in FIG. 1, the clientmapping 110 a is maintained in a separate database accessible to andunder control of the network element 110, which is depicted at 110 a inFIG. 1. In alternative non-limiting embodiments of the presentinvention, the database 110 a may be coupled to the network element 110via a direct link, or may be accessible by the network element 110 viathe communication network 108 or another communication network.

The client mapping 110 a may be substantially similar to the clientmapping 104 a of FIG. 2 maintained by the network element 104. As such,the client mapping 110 a may maintain a plurality of records, such asrecords 300 a and 300 b. Each of the records 300 a and 300 b maymaintain information about communication devices that the networkelement 110 serves, such as for example, the communication devices 106,112 served by the network element 110. Each of the records 300 a and 300b may maintain a relationship between an identifier 302 and a telephonyfeature 304. In the specific non-limiting example being presentedherein, the network identifier 302 may comprise a telephone number ofthe respective communication device.

The telephony feature 304 may comprise an indication of what telephonyfeatures the user of the particular communication device is a subscriberto. Examples of telephony features indications of which may be storedwithin telephony feature 304 include, but are not limited to, “callwaiting”, “voicemail”, “three way calling”, “differentiated ringing” andthe like. According to non-limiting embodiments of the presentinvention, another telephony feature an indication of which may bestored within the telephony feature 304 comprises an “activecommunication session join” or “ACSJ” feature. How the ACSJ feature isprovisioned in not particularly limited. In the specific example beingpresented herein, the ACSJ feature may be provisioned as an Off HookDelay (OHD) trigger in association with the telephony feature 304. In analternative non-limiting embodiment of the present invention, the ACSJfeature may be provided automatically to all subscribers served by thenetwork element 110 and, as such, there may be no need for provisioningof the ACSJ feature within the client mapping 110 a.

The record 300 a may be associated with the communication device 106. Assuch, the identifier 302 of the record 300 a may comprise the telephonenumber assigned to the communication device 106, such as a telephonenumber “111-222-3333”. The telephony feature 304 of the record 300 a cancomprise “call forwarding” and “ACSJ” indicative that the user 101 atthe communication device 106 is a subscriber to the call forwardingfeature, as well as the active communication session join featurecontemplated herein.

The record 300 b may be associated with the communication device 112. Assuch, the identifier 302 of the record 300 b may comprise the telephonenumber assigned to the communication device 112, such as a telephonenumber “222-333-4444”. The telephony feature 304 of the record 300 b cancomprise “call waiting” and “ACSJ” indicative that the user 101 at thecommunication device 112 is a subscriber to the call waiting feature, aswell as the active communication session join feature contemplatedherein.

The client mapping 110 a may maintain a number of additional records,jointly depicted at 300 n. These additional records 300 n may beassociated with other communication devices of the infrastructure ofFIG. 1 served by the network element 110 and which have been omitted forthe sake of simplicity. How the client mapping 110 a is populated is notparticularly limited. In a specific non-limiting embodiment of thepresent invention, the client mapping 110 a may be populated whentelephony service is provisioned to the communication devices 106, 112.The client mapping 110 a may be updated from time to time, for examplewhen the user 101 adds a remove a specific telephony feature from thesubscription profiles of the respective communication devices 106, 112.

Within the infrastructure of FIG. 1, the user 101 may be furtherassociated with a communication device 114. The communication device 114can, for example, be embodied in a wireless communication device of theuser 101. For the purposes of establishing and terminating communicationsessions, the communication device 114 may be coupled to a communicationnetwork 116, which can be embodied in a wireless communication network.In a specific non-limiting embodiment of the present invention, thecommunication network 116 comprises a CDMA-based wireless communicationnetwork. In alternative non-limiting embodiments of the presentinvention, the communication network 116 may be based on other wirelessstandards, such as, for example, TDMA, FDMA, Global System for MobileCommunications (GSM), General Packet Radio Service (GPRS), Code DivisionMultiple Access (CDMA), Evolution-Data Optimized (EV-DO), Enhanced DataRates for GSM Evolution (EDGE), 3GSM, Digital Enhanced CordlessTelecommunications (DECT), Digital AMPS (IS-136/TDMA), and IntegratedDigital Enhanced Network (iDEN), EVDO, WiMax and the like.

Within some of these embodiments, such as, for example, where thecommunication network 116 is embodied in the CDMA wireless network, thecommunication network 116 comprises a number of base stations (notdepicted) providing a coverage area for the communication network 116.It is commonly said that each base station is associated with a cell ofthe coverage area of the communication network 116. Accordingly, thebase station is sometimes referred to by those of skill in the art as a“cell site”. The communication device 114 may be embodied in a cellularphone, a Personal Digital Assistant (PDA), a Blackberry® device, a Palm®device, a computer equipped with a wireless access card (e.g. EV-DO,etc.) executing a soft client and the like.

For the purpose of establishing and terminating communication sessionsvia the communication network 116, the communication device 114 isassociated with a network identifier, which identifies the communicationdevice 114 to the communication network 116. In the specific scenariobeing presented herein, the communication device 114 can be associatedwith a telephone number “333.444.5555”. In alternative embodiments ofthe present invention, the communication device 114 can be associatedwith another type of network addresses, such as, for example, an IPaddress, a MAC address and the like.

For the purposes of initiating and terminating communication sessionsbetween the communication device 114 and another device coupled to thecommunication network 116 (or another communication device coupled toanother communication network, such as for example, the communicationdevice 102 a coupled to the communication network 103 or thecommunication device 112 coupled to the communication network 108), viathe communication network 116, the communication network 116 maycomprise a network element 118. In the specific scenario being presentedherein where the communication network 116 is the CDMA wirelesscommunication network, the network element 118 may comprise a wirelesstelephony switch. An example network element 118 can be embodied in aDMS-MTX wireless switch provided by Nortel Networks Ltd. One skilled inthe art will readily appreciate other possible configurations of thenetwork element 118.

The network element 118 can perform substantially the same functions asthe network element 104 or the network element 110. However, the networkelement 118 can perform some additional functions, such as effecting a“soft” or a “hard” handoff between a first base station and a secondbase station as the user 101 employing the communication device 114moves from a coverage area of the first base station to a coverage areaof the second base station.

For the purposes of establishing and terminating communication sessionsbetween the communication device 114 and other communication devicescoupled to the communication network 116 (or another communicationdevice coupled to another communication network, such as for example,the communication device 102 a coupled to the communication network 103or the communication device 112 coupled to the communication network108), the network element 118 may maintain a client mapping 118 a. Withreference to FIG. 4 a non-limiting embodiment of a client mapping 118 awill now be described in greater detail. The client mapping 118 a can bemaintained by the network element 118 of FIG. 1 in an internal database.In the specific non-limiting embodiment depicted in FIG. 1, the clientmapping 118 a is maintained in a separate database accessible to andunder control of the network element 118, which is depicted at 118 a inFIG. 1. In alternative non-limiting embodiments of the presentinvention, the database 118 a may be coupled to the network element 118via a direct link, or may be accessible by the network element 118 viathe communication network 116 or another communication network.

The client mapping 118 a may be substantially similar to the clientmapping 104 a of FIG. 2 and/or the client mapping 110 a of FIG. 3. Assuch, the client mapping 118 a may maintain a plurality of records, suchas a record 400 a. The record 400 a may maintain information aboutcommunication devices that the network element 118 serves. The record400 a may maintain a relationship between an identifier 402 and atelephony feature 404. In a specific non-limiting embodiment, theidentifier 402 may comprise a telephone number of the respectivecommunication device.

The telephony feature 404 may comprise an indication of what telephonyfeatures the user of the particular communication device is a subscriberto. Examples of telephony features indications of which may be storedwithin telephony feature 404 include, but are not limited to, “callwaiting”, “voicemail”, “three way calling”, “differentiated ringing” andthe like. According to non-limiting embodiments of the presentinvention, another telephony feature an indication of which may bestored within the telephony feature 404 comprises an “activecommunication session join” or “ACSJ” feature. How the ACSJ feature isprovisioned in not particularly limited. In the specific example beingpresented herein, the ACSJ feature may be provisioned as a Wireless IN(WIN) trigger in association with the telephony feature 404. In analternative non-limiting embodiment of the present invention, the ACSJfeature may be provided automatically to all subscribers served by thenetwork element 118 and, as such, there may be no need for provisioningof the ACSJ feature within the client mapping 118 a.

The record 400 a may be associated with the communication device 114. Assuch, the identifier 402 of the record 400 a may comprise the telephonenumber assigned to the communication device 114, such as a telephonenumber “333-444-5555”. The telephony feature 404 of the record 400 a cancomprise “ACSJ” indicative that the user 101 at the communication device114 is a subscriber to the active communication session join featurecontemplated herein.

The client mapping 118 a may maintain a number of additional records,jointly depicted at 400 n. These additional records 400 n may beassociated with other communication devices of the infrastructure ofFIG. 1 served by the network element 118 and which have been omitted forthe sake of simplicity. How the client mapping 118 a is populated is notparticularly limited. In a specific non-limiting embodiment of thepresent invention, the client mapping 118 a may be populated at the timewhen the wireless telephony service for the communication device 114 isprovisioned. The client mapping 118 a may be updated from time to time,for example when the user 101 adds or removes a specific telephonyfeature from the subscription profile of the communication devices 114.

Returning to the description of FIG. 1, in addition to the functionalitydescribed above, in some embodiments of the present invention, all ofthe network elements 104, 110, 118 comprise suitable circuitry, softwareand/or control logic for exchanging calls with entities outside therespective communication networks 103, 108, 116. In an alternativenon-limiting embodiment of the present invention, each of thecommunication networks 103, 108 and 116 may comprise a media gateway(not depicted) for facilitating the exchange of media with the othermedia gateways of the communication networks 103, 108, 116. In yetfurther non-limiting embodiments of the present invention, theinfrastructure of FIG. 1 may comprise a single media gateway (notdepicted) accessible by the network elements 104, 110, 118 for mediatingcommunications between their respective communication networks 103, 108,116.

For illustration purposes only, take the example of the communicationnetwork 103. In a first non-limiting scenario, the network element 104of the communication network 103 may comprise the suitable circuitry,software and/or control logic for exchanging data with the communicationnetwork 108 and the communication network 116. For example, a firstsub-routine may be responsible for exchanging data with thecommunication network 108 and a second sub-routine may be responsiblefor exchanging data with the communication network 116. In anothernon-limiting scenario, the communication network 103 may comprise amedia gateway (not depicted) responsible for exchanging data with thecommunication network 108 and the communication network 116. In anothernon-limiting scenario, the communication network 103 may comprise afirst media gateway (not depicted) for exchanging data with thecommunication network 108 and a second media gateway (not depicted)responsible for exchanging data with the communication network 116.Substantially similar scenarios and alternatives can be implemented forthe communication networks 108, 116.

The infrastructure of FIG. 1 may further comprise an application server130. In some non-limiting embodiments of the present invention, thefunctionality of the application server 130 can be incorporated into thefunctionality of one of the network elements 104, 110 and 116. However,in the specific non-limiting embodiment depicted in FIG. 1, theapplication server 130 is embodied in a stand-alone computing apparatus.An example application server 130 can be embodied as a UbiquityApplication Server, which can be provided by Ubiquity SoftwareCorporation of 515 Legget Drive, Suite 400, Ottawa, ON, Canada. Oneskilled in the art will readily appreciate other possible configurationsof the application server 130. It should be expressly understood thatsome of the functions performed by the application server 130 to bedescribed herein below can be executed in a distributed manner by one ormore computing apparatuses. In some alternative non-limiting embodimentsof the present invention, the functionality of the application server130 can be distributed among some or all of the network elements 104,110, 118. An example of such a distributed implementation will bedescribed in greater detail herein below with reference to FIG. 10.

The application server 130 can be reachable by the network elements 104,110 and 118 via a data network (not separately numbered). In somenon-limiting embodiments of the present invention, the data network maycomprise portions of one or more of the communication networks 103, 108,116. In alternative non-limiting embodiments of the present invention,the data network can be a separate data network, such as the Internet oranother type of a public or a private data network.

The network elements 104, 110 and 118 are aware of a location of theapplication server 130 or, in other words, of a network address 132associated with the application server 130. In some embodiments of thepresent invention, the network address 132 may comprise a static networkaddress, such as, but not limited to, a static IP address. In theseembodiments of the present invention, the network elements 104, 110 and118 may be pre-programmed with the static IP address of the applicationserver 130. In an alternative embodiment of the present invention, thenetwork address 132 may comprise a Uniform Resource Locator (URL), suchas, for example, “www.applicationserver.com”. In these non-limitingembodiments of the present invention, the network elements 104, 110, 118may be pre-programmed with the URL of the application server 130. In yetfurther non-limiting embodiments of the present invention, the networkaddress 132 may comprise a dynamic network address, such as, forexample, a dynamic IP address. In these non-limiting embodiments of thepresent invention, the network elements 104, 110, 118 may discover thedynamic IP address of the application server 130 via an appropriateaddress discovery procedure, such as, for example, a Domain Name Service(DNS) look up.

Given the infrastructure of FIG. 1, it is possible to perform a methodfor causing a communication device to join an active communicationsession. The method for causing a communication device to join theactive communication session will be described as being performed in twophases:

-   -   Phase I: a registration phase with reference to FIG. 5 (referred        to herein below as a “method for registration”);    -   Phase II: an in-use phase with reference to FIG. 6 (referred to        herein below as a “method in-use”).

It should be noted that the method for registration can be performedonce. However, portions of the method for registration can bere-executed from time to time, when certain parameters of theregistration need to be changed. The method for registration should beperformed before the first instance of the method in-use can beexecuted.

Before describing the methods of FIGS. 5 and 6 in detail, a subscriptionmapping 700 of FIG. 7 will now be introduced. The subscription mapping700 can be maintained by the application server 130 of FIG. 1 in aninternal database. In the specific non-limiting embodiment of FIG. 1,the subscription mapping 700 may be maintained in a separate database,accessible to and under control of the application server 130. Inalternative non-limiting embodiments of the present invention, where thefunctionality of the application server 130 is distributed among thenetwork elements 104, 110, 118, the subscription mapping 700 can bedistributed, for example, among the client mappings 104 a, 110 a, 118 a.

The subscription mapping 700 may maintain a plurality of records, suchas a record 700 a, for example. Each of the plurality of recordsmaintains information about users who subscribe to the activecommunication session join feature contemplated herein, as well asdetails of their respective subscription profiles.

To that end, the record 700 a maintains a relationship between a useridentifier 702 and a subscription profile 704. For illustrationpurposes, it is assumed that record 700 a is associated with the user101. The user identifier 702 of a particular record contains data thatuniquely identifies the user with whom the particular record isassociated. In a first non-limiting embodiment of the present invention,the user identifier 702 may contain a user name, such as a numeric or analphanumeric string of characters. In another non-limiting embodiment ofthe present invention, the user identifier 702 may comprise a networkidentifier associated with one of the communication devices associatedwith the user with whom the particular record is associated. In theexample of the user 101, an identifier of one of the communicationdevices 102 a, 102 b, 106, 112, 114 can be maintained within the useridentifier 702 of the record 700 a for signifying that the record 700 ais associated with the user 101. In the specific non-limiting example tobe presented herein below, the user identifier 702 of the record 700 acomprises “John Smith” which represents the user identifier assigned tothe user 101. The user identifier 702 may further comprise an indicationof a password assigned to the user 101 that can be used for verifyingidentity of the user 101. Naturally, the indication of the password canbe stored in a separate field of the subscription mapping 700 or in aseparate database.

The subscription profile 704 comprises an indication of networkidentifiers of communication device(s) that the user 101 has subscribedfor the purposes of the active communication session handling featurecontemplated herein. These communication device(s) are referred tosometimes herein below as “subscribing communication device(s)”. Byvirtue of their registration, the subscribing communication devices canalso be referred to as communication devices registered in associationwith a “device group”. For the purposes of the description to bepresented herein below, it is assumed that the user 101 has registeredall communication devices 102 a, 102 b, 106, 112 and 114 for thepurposes of the active communication session handling featurecontemplated herein. How the user 101 can register the communicationdevices 102 a, 102 b, 106, 112 and 114 will be described in greaterdetail herein below.

To that end, the subscription profile 704 comprises an indication ofnetwork identifiers of each one of the subscribing communicationdevices. In some embodiments of the present invention, the subscriptionprofile 704 may further comprise an indication of which communicationnetwork each of the subscribing communication devices is associatedwith, for example, by storing a network address associated with anetwork element (such as, for example, network elements 104, 110, 118)associated with the respective communication networks (such as, forexample, communication networks 103, 108, 116) associated with therespective subscribing communication device(s). Within the specificnon-limiting embodiment being depicted in FIG. 7, the subscriptionprofile 704 comprises (i) the indication of a respective networkidentifier of each one of the subscribing communication device(s) and(ii) an indication of the network element(s) responsible for handlingcommunications on behalf of each one of the subscribing communicationdevice(s):

<416223333@serviceprovider.com><network_element_104><111.222.3333><network_element_110> <222.333.4444><network_element_110><333.444.5555><network_element_118>

In an alternative non-limiting embodiment of the present invention, thesubscription profile 704 may comprise just the indication of therespective network element(s) responsible for handling communication onbehalf of each one of the subscribing communication device(s). Anexample of such an embodiment will be described in greater detail hereinbelow.

How the application server 130 becomes aware of the indication of therespective network element(s) responsible for handling communication onbehalf of each one of the subscribing communication device(s) will bedescribed in greater detail herein below.

The subscription mapping 700 may maintain a number of additional recordsassociated with other subscribers and their respective subscribingcommunication device(s). The additional records are jointly depicted at700 n.

In an alternative non-limiting implementation of the subscriptionmapping 700, the user identifier 702 may be omitted and the subscriptionmapping 700 may simply maintain a number of subscription profiles 704.In yet further non-limiting embodiments of the present invention, thesubscription mapping 700 may be omitted altogether. Within thesenon-limiting embodiments of the present invention, the applicationserver 130 can probe the network elements 104, 110, 118 for theindication of subscribing communication device(s) as will be describedin greater detail herein below.

With reference to FIG. 5 a method for registration according to anon-limiting embodiment of the present invention will now be described.

Step 510

The method begins at step 510, where a subscription request 510 a isreceived from the user 101 by the application server 130. Severalscenarios for how the user 101 can submit the subscription request 510 aare contemplated.

In a first non-limiting scenario, the user 101 can access a web portalmaintained by a service provider associated with the application server130. The user 101 can access the web portal, for example, using thecommunication device 102 b, which in the example being presented hereinis embodied in a computing apparatus. The user 101 can, of course, useany other computing apparatus for accessing the web portal. The user 101can then click on a dedicated registration link, a dedicatedregistration button, etc. to indicate his or her desire to start theregistration process.

In a second non-limiting scenario, the user 101 can call and interactwith a service representative or an interactive voice response (IVR)system associated with the service provider who manages the applicationserver 130.

Irrespective of how the user 101 submits the subscription request 510 a,the subscription request 510 a is transmitted to the application server130 (in case of the web portal and the IVR system) or inputted into aninput interface of the application server 130 by the servicerepresentative.

Step 520

The user 101 is associated with an identifier 520 a in step 520. In somenon-limiting embodiments of the present invention, the user 101 isassigned an alphanumerical or a numerical identifier by the applicationserver 130 via the web portal, or by the service representative or theIVR system. In an alternative non-limiting embodiment, the user 101 canselect and provide to the application server 130 via the web portal, orto the service representative or the IVR system a user-selectedalphanumerical, or a numerical identifier. In yet further non-limitingembodiments of the present inventions, the user 101 may provide to theapplication server 130 via the web portal, to the service representativeor the IVR system an indication of a network identifier of one of thecommunication device(s) that the user 101 intends to subscribe with theapplication server 130 for the purposes of the active communicationsession joining feature contemplated herein, this network identifier canbe used as the identifier 520 a (such as, for example, a telephonenumber, etc.).

For the purposes of the example to be presented herein below, it isassumed that the user 101 has been assigned by the application server130 a user identifier “John Smith” via the web portal, which may, butdoes not necessarily have to, be indicative of the user's 101 first andlast names. In some embodiments of the present invention, the user 101may be assigned or may choose a password which can be used forverification of user's 101 identity at a later time.

In an alternative non-limiting embodiment of the present invention, theapplication server 130 can implement the step 520 without advising theuser 101 of the identifier 520 a.

Step 530

Next, at step 530, a user's selection 530 a is received by theapplication server 130. The user's selection 530 a may be indicative ofthe network identifier(s) of one or more of the communication device(s)that the user 101 intends to subscribe with the application server 130for the purposes of the active communication session joining featurecontemplated herein.

Step 530 may be executed at the same time as steps 510 and 520 areexecuted. In this scenario, the user 101 provides the user's selection530 a via the same means as the subscription request 510 a wassubmitted, i.e. via the web portal, to the service representative or tothe IVR system. In the example being presented herein, the user 101interacts with the web portal and provides the user's selection 530 aindicative of network addresses of the communication devices that theuser 101 wishes to subscribe:

<416223333@serviceprovider.com> <111.222.3333> <222.333.4444><333.444.5555>

Naturally, the user 101 does not need to subscribe all communicationdevices at the same time. Actually, the user 101 can subscribe orunsubscribe any number of communication devices at any given time. In analternative non-limiting embodiment of the present invention, a customerservice representative may provide an indication of the subscribingcommunication devices on behalf of the user 101. In yet furtherembodiments of the present invention, the user's selection 530 a can begenerated automatically, for example, the user's selection 530 a can begenerated to include a set of network identifiers of communicationdevices located at a given dwelling (such as, for example, the customerpremises 102, etc.).

Step 540

Next, at step 540, the application server 130 generates theaforementioned record 700 a associated with the user 101. To that end,the application server 130 examines the identifier 520 a with which theuser 101 was associated in step 520 and the user's selection 530 areceived in step 530. The application server 130 populates the useridentifier 702 with the identifier 520 a. The application server 130then populates the subscription profile 704 with the user's selection530 a.

In some embodiments of the present invention, the application server 130may further determine which network element(s) are responsible forhandling communications on behalf of the subscribing communicationdevice(s) being provisioned by the user 101. How the application server130 determines this is not particularly limited. For example, in somenon-limiting embodiments of the present invention, an associationbetween a given subscribing communication device and the associatednetwork element can be inherent in the network identifier associatedwith the given subscribing communication device. Within this scenario,the application server 130 can determine which network element isresponsible for handling communications on behalf of the givencommunication device based on the network identifier of the givencommunication device. In an alternative non-limiting embodiment of thepresent invention, the application server 130 may perform a look-up todetermine which network element is responsible for handlingcommunications on behalf of the given communication device, for exampleby contacting a DNS server (not depicted), etc.

It should be understood that the user 101 may re-execute step 520 fromtime to time when the user 101 needs to change data maintained withinthe subscription profile 704. The user may execute a step substantiallysimilar to step 510, where the user 101 accesses the web portal,interacts with the service representative or the IVR system. The user101 first provides the identifier 520 a to identify himself or herself.The user 101 may further need to provide a password an indication ofwhich may be stored within the user identifier 702. The user 101 thenindicates any network identifiers of the subscribing communicationdevice(s) that need to be removed or network identifiers or newcommunication device(s) to be subscribed. Step 540 can then bere-executed to update the subscription profile 704.

With reference to FIG. 6, the method in-use according to a non-limitingembodiment will now be described in greater detail. For the purposes ofthe description to be presented herein below, it is assumed that thesubscription mapping 700 of FIG. 7 has been populated.

For the purposes of providing non-limiting examples and illustrationsfor the method in-use of FIG. 6, the following illustrative scenarioswill be used:

-   Scenario 1 In this scenario, it assumed that the user 101 is driving    towards the cottage where the communication device 112 is located    and is currently engaged in an active communication session using    the communication device 114. Once the user 101 arrives at the    cottage, the user 101 is desirous of using the communication device    112 to join the active communication session. It should be recalled    that the communication device 112 comprises a POTS phone and that    the communication device 114 comprises a wireless communication    device.-   Scenario 2 In this scenario, it is assumed that the user 101 is at    the customer premises 102 and is currently engaged in an active    communication session using the communication device 102 a. It is    further assumed that the user 101 is about to leave the customer    premises 102 and, as such, is desirous of using the communication    device 114 to join the active communication session. It should be    recalled that the communication device 102 a is embodied in a VoIP    phone.    Step 610

The method in-use begins at step 610, at which an indication of thedesire of a communication device to establish a communication session isreceived by a network element (such as, one of the network elements 104,110, 118).

-   Scenario 1 In a first non-limiting embodiment of the present    invention, the indication of the desire of the communication device    to establish the communication session may be assumed to signify    that the user 101 is desirous of joining the active communication    session in progress with another subscribing communication device    (if such active communication session does exist). This is    particularly applicable in Scenario 1.    -   In this scenario, the network element 110 ascertains the desire        of the communication device 112 to establish the communication        session, for example, by detecting an off-hook condition. For        example, when the user 101 arrives at the cottage where the        communication device 112 is located, the user 101 may pick up a        receiver of the communication device 112. The network element        110 detects an off-hook condition at the communication device        112.-   Scenario 2 In a second non-limiting embodiment of the present    invention, the user 101 has to positively provide the indication of    the desire to establish a communication session. This approach is    particularly applicable in Scenario 2.    -   In this scenario, the network element 118 ascertains the desire        of the communication device to establish the communication        session in the following manner. For example, when the user 101        is about to leave the customer premises 102, the user 101 may        use the communication device 114 to enter a pre-determined short        code, such as for example, “*11”, “#5” or the like.        Alternatively, the user 101 may press a pre-determined button of        the communication device 114. For example, the user 101 may        press a “SEND” button without previously inputting a destination        number. Responsive to the user 101 entering the pre-determined        short code or pressing the pre-determined button, the        communication device 114 establishes a communication session        with the network element 118.

It should be noted that the above two scenarios have been provided asexamples only. In practice, a myriad of suitable ways for triggeringtransmission of indication of the desire of the communication device tojoin the communication session are possible. Some further non-limitingexamples will be provided herein below as part of the description ofFIG. 8.

Step 620

At step 620, the network element (such as one of the network elements104, 110, 118) determines if the communication device that has indicatedthe desire to establish the communication session at step 610 has beenprovisioned with the active communication session joining featurecontemplated herein.

Firstly, the network element (such as one of the network elements 104,110, 118) determines the network identifier associated with thecommunication device that has provided the indication of the desire toestablish the communication session in step 610.

-   Scenario 1 Within this non-limiting scenario, the network element    110 determines the network identifier of the communication device    112 that has provided the indication of the desire to establish the    communication session in step 610. More specifically, the    application server 130 determines that the communication device 112    is associated with a telephone number 222.333.4444.-   Scenario 2 Within this non-limiting scenario, the network element    118 determines the network identifier of the communication device    114 that has provided the indication of the desire to establish the    communication session in step 610. More specifically, the    application server 130 determines that the communication device 114    is associated with a telephone number 333.444.5555.

Next, the network element (such as one of the network elements 104, 110,118) determines if the communication device that has provided theindication of the desire to establish the communication session in step610 has been provisioned with the active communication session joiningfeature contemplated herein.

-   Scenario 1 The network element 110 then accesses the aforementioned    client mapping 110 a to determine whether any special features have    been provisioned in association with the communication device 112.    Based on, for example, network identifier associated with the    communication device 112, the network element 110 accesses the    record 300 b associated with the communication device 112 to    determine whether the communication device 112 has been provisioned    with the active communication session joining feature contemplated    herein.-   Scenario 2 The network element 118 accesses the aforementioned    client mapping 118 a to determine whether any special features have    been provisioned in association with the communication device 114.    Based on, for example, the network identifier associated with the    communication device 114, the network element 118 accesses the    record 400 a associated with the communication device 114 and    determines that the communication device 114 has been provisioned    with the active communication session joining feature.

In an alternative non-limiting embodiment of the present invention,which are particularly applicable where the ACSJ feature isautomatically applied to all subscribers, step 620 (and step 630 to bedescribed below) can be omitted.

Step 630

If it is determined that the communication device that has provided theindication of the desire to establish the communication session in step610 is not provisioned with the active communication session handlingfeature contemplated herein (i.e. the “NO” branch of step 620), thenetwork element (such as one of the network elements 104, 110, 118) canapply standard call processing at step 630 to the communication devicethat has indicated the desire to establish the communication session atstep 610.

-   Scenario 1 The network element 110 can cause the communication    device 112 to emit a dial tone, the dial tone for indicating to the    user 101 to dial a telephone number to establish a new communication    session.-   Scenario 2 The network element 118 can cause the communication    device 114 to present the user 101 a message offering the user 101    to subscribe to the active communication session joining feature or    to establish a new communication session. This message can be an    audio message, a textual message, a graphic-based message, a    combination thereof, etc.    Step 640

If it is determined that the communication device that has provided theindication of the desire to establish the communication session in step610 is provisioned with the active communication session handlingfeature contemplated herein (i.e. the “YES” branch of step 620), thenetwork element (such as one of the network elements 104, 110, 118)executes step 640.

-   Scenario 1 Responsive to the determination at step 620, the network    element 110 invokes an OHD trigger. Responsive to invoking of the    OHD trigger, the network element 110 stops standard call processing    and transmits a processing query to the application server 130    requesting a processing instruction.-   Scenario 2 Responsive to this determination at step 620, the network    element 118 invokes a WIN trigger. Responsive to invoking of the WIN    trigger, the network element 118 stops standard call processing and    transmits a processing query to the application server 130    requesting a processing instruction.    Step 650

Next, at step 650, the application server 130 receives the processingquery from the network element (such as one of the network elements 104,110, 118).

Step 660

Responsive to the receipt of the processing query at step 650, at step660, the application server 130 determines if an active communicationsession is in progress with at least one other subscribing communicationdevice associated with the user 101 associated with the communicationdevice that has provided the indication of the desire to establish thecommunication session in step 610.

The application server 130 then accesses the aforementioned subscriptionmapping 700 and determines which record of the subscription mapping 700contains the network identifier of the communication device that hasprovided the indication of the desire to establish the communicationsession in step 610. In the specific example being presented herein (inboth scenarios 1 and 2), the application server 130 determines that therecord 700 a contains the network identifier of the communication devicethat has provided the indication of the desire to establish thecommunication session in step 610. The application server 130 thenexamines the subscription profile 704 of the record 700 a and retrievesnetwork identifiers of other subscribing communication device(s)associated with the user identifier 702 associated with the user 101.

The application server 130 then determines if any of the othersubscribing communication device(s) associated with the user 101 areengaged in an active communication session. Several non-limitingembodiments of how this may be implemented are contemplated:

-   -   “Pull mechanism”    -   In a first non-limiting scenario, the application server 130 may        query each network element 104, 110, 118 responsible for        handling communication sessions for subscribing communication        devices 102 a, 102 b, 106, 112, 114 in order to determine if at        least one of the subscribing communication devices 102 a, 102 b;        106, 112, 114 is engaged in the active communication session. It        will be recalled that the subscription profile 704 of the        subscription mapping 700 may comprise an indication of the        network element responsible for handling communication sessions        on behalf of subscribing communication device(s). Having the        benefit of this knowledge, the application server 130 may        contact each of the network elements responsible for handling        communication sessions on behalf of the subscribing        communication device(s).    -   “Push mechanism”    -   In a second non-limiting scenario, each of the network elements        104, 110, 118 can transmit to the application server 130 an        indication when a status of a particular communication device        that the respective network element 104, 110, 118 serves changes        (for example, when a particular communication device goes from        on hook to off hook and vice versa).    -   In an alternative non-limiting embodiment of the present        invention, each of the network elements 104, 110, 118 may        periodically (such as, for example, every 30 seconds, every        minute, every 2 minutes, etc.) send an update to the application        server 130 representative of which communication devices served        by a respective network element 104, 110, 118, and which have        been provisioned with the active communication session joining        feature in their respective client mappings 104 a, 110 a, 118 a,        are engaged in an active communication session at the time of        sending the update. The application server 130 may store an        indication of which of the subscribing communication devices are        currently engaged in an active communication session within the        aforementioned subscription mapping 700. Within this        non-limiting scenario, the application server 130 accesses the        subscription mapping 700 in order to determine if at least one        of the subscribing communication devices 102 a, 102 b; 106, 112,        114 (other than the communication device that has provided the        indication of the desire to establish the communication session        at step 610) is engaged in an active communication session.    -   “Via mechanism”    -   In an alternative non-limiting embodiments of the present        invention, the calls for any of the subscribing communication        devices (such as, for example, the communication devices 102 a,        102 b, 106, 112, 114) can be routed through the application        server 130, which will allow the application server 130 to be        aware of all active sessions associated with the subscribing        communication devices.

Naturally, the application server 130 may determine that more than oneof the subscribing communication devices 102 a, 102 b, 106, 112, 114 arecurrently engaged in an active communication session. An optionalenhancement will be described herein below that may assist in dealingwith this situation.

It should be expressly understood that there is a number of alternativeimplementations for step 660 (as well as other steps of the method ofFIG. 6). Within some of these alternative implementations, somecomponents of the infrastructure of FIG. 1 can be modified or omittedaltogether.

For example, within a first non-limiting alternative implementation ofthe method of FIG. 6 and, step 660 in particular, the followingmodifications are envisioned. Each of the client mappings 104 a, 110 a,118 a may comprise an indication of a user identifier stored inassociation with either each of the communication devices served by therespective network elements 104, 110, 118 or those communication devicesserved by the respective network elements 104, 110, 118 that subscribeto the ACSJ feature contemplated here. This user identifier can besimilar to the user identifier stored within the user identifier 702 andcan be used (either exclusively or non-exclusively) for the purposes ofimplementing the ACSJ feature according to this non-limiting embodimentof the present invention. Within these embodiments, as part of step 650,the application server 130 receives an indication of the user identifierassociated with the communication device that has provided theindication of the desire to establish the communication session in step610. Based on this indication of the user identifier, the applicationserver 130 can query a plurality of network elements (such as, forexample, the network elements 104, 110, 118) to determine if thereexists an active communication session associated with othercommunication devices that are associated with the same user identifier.Within these embodiments of the present invention, the associationbetween the communication devices that are associated with the same useridentifier can be said to be a “device group” and the user identifiercan be said to be a “device group identifier”. As one skilled in the artwill appreciate, within these embodiments of the present invention, theapplication server 130 is aware of a location at which each of theplurality of the network elements can be contacted. This knowledge canbe obtained by the application server 130 in a number of different ways,for example, by a respective service provider associated with each ofthe plurality of network elements submitting such an indication of thelocation to the application server 130. Within these embodiments of thepresent invention, the functionality of the subscription mapping 700 canbe said to be distributed among the client mappings 104 a, 108 a, 118 aand, as such, there may be no need for the subscription mapping 700 perse.

Within a second non-limiting alternative implementation of step 660, thefollowing modifications are envisioned. Each of the client mappings 104a, 110 a, 118 a may comprise an indication of a device group identifierstored in association with either each of the communication devicesserved by the respective network elements 104, 110, 118 or thosecommunication devices served by the respective network elements 104,110, 118 that subscribe to the ACSJ feature contemplated here. Thisdevice group identifier can be similar to the user identifier storedwithin the user identifier 702 and can be used (exclusively ornon-exclusively) for the purposes of implementing the ACSJ featureaccording to this non-limiting embodiment of the present invention.Furthermore, the subscription mapping 700 may correlate a given useridentifier 702 (which in these embodiments comprises an indication ofthe device group identifier) to a subscription profile 704 (whichcomprises an indication of network elements responsible for handlingcommunication on behalf of communication devices associated with a givendevice group). Within these embodiments, the application server 130 maynot be aware of the network addresses associated with the subscribingcommunication devices. Within these embodiments, the network element 130receives an indication of the device group identifier associated withthe communication device that has provided the indication of the desireto establish the communication session in step 610. Based on thisindication of the device group identifier, the application server 130can query the network elements (that are identified within thesubscription profile 700) to determine if there exists an activecommunication session associated with other communication devices thatare associated with the same device group identifier.

Naturally, a number of other alternative embodiments of step 660 (aswell as other steps of the method of FIG. 6) are possible.

Step 670

If the application server 130 determines that none of the subscribingcommunication devices 102 a, 102 b, 106, 112, 114 (other than thecommunication device that has provided the indication of the desire toestablish the communication session at step 610) associated with theidentifier 520 a associated with the user 101 is engaged in the activecommunication session (i.e. the “NO” branch of step 660), an exceptionhandling process can be executed at step 670.

-   Scenario 1 For example, the application server 130 can transmit a    response to the processing query received at step 650 to the network    element 110. The response can indicate to the network element 110 to    cause the communication device 112 to emit a dial tone, the dial    tone for indicating to the user 101 to dial a telephone number to    establish a new communication session.-   Scenario 2 In this example, the application server 130 can transmit    a response to the processing query received at step 650 to the    network element 118. The response can indicate to the network    element 118 to cause the communication device 114 to present the    user 101 a message advising the user 101 that no active    communication session exists and that the user 101 can establish a    new communication session. This message can be an audio message, a    textual message, a graphic-based message, a combination thereof,    etc.    Step 680

If, on the other hand, the application server 130 determines that anactive communication session is in progress with at least onesubscribing communication device (i.e. the “YES” branch of step 660),the application server 130 executes step 680.

Based on the assumptions made above, the application server makes thefollowing determinations:

-   Scenario 1 The application server 130 determines that the    communication device 114 is currently engaged in an active    communication session.-   Scenario 2 The application server 130 determines that the    communication device 102 a is currently engaged in an active    communication session.

At step 680, the application server 130 causes the communication devicethat has provided the indication of the desire to establish thecommunication session in step 610 to join the active communicationsession.

-   Scenario 1 Within this scenario, the application server 130 causes    the communication device 112 to join the active communication    session terminating on the communication device 114. For example,    the application server 130 may transmit a trigger to one of the    network elements 110, 118 to trigger one of the network elements    110, 118 to cause establishment of a three-way call between the    communication device 114, another party of the active communication    session (other than the communication device 114) and the    communication device 112. As one example, the network element 118    may cause the three-way call to be established in substantially the    same manner as if the communication device 114 triggered the    three-way call with the communication device 112.    -   In an alternative non-limiting embodiment of the present        invention, the network element 118 may cause the communication        device 114 to establish a three-way call with the communication        device 112 by transmitting an appropriate command to the        communication device 114. In further non-limiting embodiments of        the present invention, one of the application server 130 and the        network element 118 can establish a call with the communication        device 112. The application server 130 or the network element        112 may then bridge the so-established call with the        communication device 112 with the active communication session.        One skilled in the art will appreciate that a myriad of other        alternative implementations for step 680 are possible.    -   The user 101 may now terminate the active communication session        on the communication device 114 and continue with the active        communication session on the communication device 112.-   Scenario 2 Within this scenario, the application server 130 causes    the communication device 114 to join the active communication    session terminating on the communication device 102 a. For example,    the application server 130 may transmit a trigger to one of the    network elements 104, 118 to trigger one of the network elements    104, 118 to cause establishment of a three-way call between the    communication device 102 a, another party of the active    communication session (other than the communication device 102 a)    and the communication device 114. As one example, the network    element 104 may cause the three-way call to be established in    substantially the same manner as if the communication device 102 a    triggered the three-way call with the communication device 114.    -   One skilled in the art will appreciate that a number of        alternative implementations for step 680 within this scenario        are possible, including, but not limited to those, illustrated        above with reference to Scenario 1.    -   The user 101 may now terminate the active communication session        on the communication device 102 a and continue with the active        communication session on the communication device 114.

In some embodiments of the present invention, the application server 130can loop back to executing the step 610, where the network element (suchas one of the network elements 104, 110, 118) awaits another indicationof the desire of one of the subscribing communication devices toestablish a communication session is received.

With reference to FIG. 8 a method for causing a communication device tojoin a communication session “in-use” according to a second non-limitingembodiment of the present invention will now be described. For thepurposes of the description to be presented herein below, the followingscenario will be used:

-   -   In this scenario it is assumed that the user 101 is driving        towards the customer premises 102 (where the communication        devices 102 a, 102 b are located) and is currently engaged in an        active communication session using the communication device 114.        The aforementioned user 101′ within the customer premises 102        wishes to use the communication device 102 a to establish a        communication session. The user 101′ may not be aware a priori        of the active communication session maintained by the user 101        at the communication device 114 or may not be certain whether he        or she wishes to join the active communication session (if such        active communication session existed).

The method of FIG. 8 first executes steps substantially similar to thesteps 610-670 of FIG. 6. The description of the method of FIG. 8 will,therefore, commence with a description of step 810 which is performedafter a positive determination has been made in a step substantiallysimilar to step 660 of FIG. 6 that an active communication session is inprogress with at least one subscribing communication device. Within theexample being presented herein, the application server determines thatthe communication device 114 is engaged in the active communicationsession.

Step 810

The application server 130 may then, as step 810, transmit a processinginstruction to the network element 104. The processing instruction is totrigger the network element 104 to solicit an indication from the user101′ of the communication device 102 a of whether the user 101′ isdesirous of either (a) joining the active communication session; or (b)establishing a new communication session. Several non-limiting scenarioshow the user 101′ of the communication device 102 a may provide theindication of whether he or she wishes to join the active communicationsession or to establish the new communication session are envisioned.

In a first non-limiting scenario, the network element 104 may transmit atrigger to the communication device 102 a to cause the communicationdevice 102 a to present the user 101′ of the communication device 102 atwo options, such as, for example, two soft keys: “JOIN” and “NEWSESSION”. In an alternative embodiment of the present invention, thecommunication device 102 a may preset the user 101′ of the communicationdevice 102 a two links representative of the two options.

In another non-limiting scenario, the network element 104 may generate avoice message soliciting from the user 101′ of the communication device102 a the indication of whether the user 101′ wishes to establish a newcommunication session or to join the active communication session.Within some of these embodiments, the network element 104 a can provideadditional information associated with the active communication session,such as, for example, CLID information associated with the other partyof the active communication session. In yet another non-limitingembodiment of the present invention, the network element 104 maytransmit a trigger to the communication device 102 a, the trigger forcausing the communication device 102 a to generate a voice messagesoliciting from the user 101′ the indication of whether he or she wishesto establish a new communication session or to join the activecommunication session.

Naturally, the labels to be associated with the two options arepresented here as an example only. Any other set of suitable labels canbe used, such as, but not limited to, “OPTION 1”/“OPTION 2”,“EXISTING”/“NEW”, “JOIN”/“CALL OUT”, etc.

Step 820

Next, at step 820, the network element 104 receives from thecommunication device 102 a the indication of whether the user 101′wishes to join the active communication session or to establish the newcommunication session (i.e. a disposition instruction). How the user101′ provides the indication of whether he or she wishes to join theactive communication session or to establish the new communicationsession is not limited.

In a first non-limiting scenario, the user 101′ may provide theindication of whether he or she wishes to join the active communicationsession or to establish the new communication session by selecting oneof the soft keys presented by the communication device 102 a (ex. the“JOIN”/“NEW SESSION” soft keys). In a second non-limiting scenario, theuser 101′ may provide the indication of whether he or she wishes to jointhe active communication session or to establish the new communicationsession by providing a speech utterance indicative of whether he or shewishes to join the active communication session or to establish the newcommunication session. In another non-limiting scenario, the user 101′may provide the indication that the user 101′ wishes to join the activecommunication session by providing a first pre-determined sequence ofdigits. Within these non-limiting embodiments, the user 101′ may providethe indication that the user 101′ wishes to establish the newcommunication session by providing a second pre-determined sequence ofdigits. In another non-limiting scenario, the user 101′ may provide theindication of whether he or she wishes to join the active communicationsession or to establish the new communication session by clicking on ahyper-link, an icon and the like. If no indication is received after apre-determined period of time, the network element could, for example,default to a particular choice.

It is contemplated that the user 101′ may even provide the indication ofwhether he or she wishes to join the active communication session or toestablish the new communication session by means other than thosepresented by the communication device 102 a. For example, the user 101′may employ another communication device, a computing apparatus and thelike to provide the indication of whether he or she wishes to join theactive communication session or to establish the new communicationsession. In these embodiments of the present invention, as part ofproviding the indication, the user 101′ also indicates whichcommunication device (ex. one of the communication device 102 a, 102 b)the user 101′ wishes to use to join the active communication session orto establish the new communication session.

The network element 104 then transmits to the application server 130 theindication of whether the user 101′ wishes to join the activecommunication session or to establish the new communication session.

Step 830

The application server 130 then examines the indication received as partof step 820 in order to determine whether the user 101′ is desirous ofjoining an active communication session or of establishing the newcommunication session.

Step 840

If the application server 130 determines that the user 101′ wishes toestablish the new communication session (i.e. the “NEW” branch of step830), the application server 130 can cause the network element 140 toprovide standard call processing at step 840. For example, the networkelement 104 may cause the communication device 102 a to emit a dialtone.

Step 850

If, on the other hand, the application server 130 determines that theuser 101′ wishes to join the active communication session (i.e. the“Active Communication Session” branch of step 830), the applicationserver 130 causes the communication device 102 a to join the activecommunication session at step 850. Step 850 can be implemented insubstantially the same manner as step 680 of the method of FIG. 6.

FIG. 9 depicts another non-limiting embodiment of an infrastructure forcausing a communication device to join a communication session, which issubstantially similar to the infrastructure of FIG. 1 and, as such, likeelements are depicted by like numerals. A communication device 102 b′ ofthe infrastructure of FIG. 9 is located at the customer premises 102 andis coupled to the communication network 108. The communication device102 b′ can be assigned with a telephone number “416.222.3333”. It shouldbe noted that in the specific non-limiting embodiment depicted in FIG. 9the telephone number assigned to the communication device 102 b′ can bethe same as a portion of the SIP URI assigned to the communicationdevice 102 a, but this need not be so in every embodiment of the presentinvention. As such, the communication device 102 a and the communicationdevice 102 b′ can be addressed by the same telephone number even thoughthey are coupled to different communication networks (i.e. thecommunication network 103 and the communication network 108). Naturally,a record maintained by the network element 104 a associated with thecommunication device 102 a and a record maintained by the networkelement 110 associated with the communication device 102 b′ need to beprovisioned with an appropriate trigger to ensure that an indication ofa call received by one of the network elements 104, 110 is provided tothe other one of the network elements 104, 110. However, this need notbe so in every embodiment of the present invention. For example, in analternative non-limiting embodiment of FIG. 9, the telephone numberassigned to the communication device 102 b′ can be independent from theSIP URI assigned to the communication device 102 a.

In an alternative non-limiting implementation of FIG. 9, all of thecommunication devices 102 a, 102 b′, 106, 112 may be located at thecustomer premises 102 and may be coupled to two or more differentcommunication networks.

Within the infrastructure of FIG. 9, the user 101 (or the user 101′)could execute the above-described methods, for example, to cause thecommunication device 102 b′ to join a communication session terminatedon the communication device 102 a and vice versa. Within theseembodiments of the present invention, the customer premises 102 can bereferred to as a “hybrid premises”, as it comprises communicationdevices coupled to more than one communication network (i.e.communication networks 103, 108).

FIG. 10 depicts another non-limiting embodiment of an infrastructure forcausing a communication device to join a communication session, which issubstantially similar to the infrastructure of FIG. 1 and, as such, likeelements are depicted by like numerals. Within the infrastructure ofFIG. 10, the functionality performed by the application server 130 ofFIG. 1 is distributed among the network elements 104, 110, 118 and, assuch, the application server 130 of FIG. 1 is omitted from theinfrastructure of FIG. 10.

Within these embodiments, each of the client mappings 104 a, 110 a, 118a may comprise an indication of a user identifier (or a device groupidentifier) stored in association with either each of the communicationdevices served by the respective network elements 104, 110, 118 or thosecommunication devices served by the respective network elements 104,110, 118 that subscribe to the ACSJ feature contemplated here. This useridentifier can be similar to the user identifier stored within the useridentifier 702 and can be used for the purposes of implementing the ACSJfeature according to this non-limiting embodiment of the presentinvention. When an indication of a desire to establish a communicationsession is received from a given communication device by a given one ofthe network elements 104, 110, 118, the given one of the networkelements 104, 110, 118 queries the other ones of the network elements104, 110, 118, based on the user identifier, to identify whether anyother communication devices associated with the same user identifier andserved by the respective network elements 104, 110, 118 are engaged inan active communication session. The given one of the network elements104, 110, 118 can execute a method for causing a communication device tojoin a communication session substantially similar to the methoddescribed above.

A First Optional Enhancement

A first optional enhancement according to a non-limiting embodiment ofthe present invention will now be described. It should be understoodthat the first optional enhancement can be performed as part of themethod in-use of FIG. 6 or as part of the method in-use of FIG. 8.

In these non-limiting embodiments of the present invention, it isenvisioned that the application server 130 may determine that more thanone active communication session exist. The following non-limitingscenario is envisioned:

-   -   In this scenario it is assumed that the user 101 is driving        towards the cottage where the communication device 112 is        located and is currently engaged in an active communication        session using the communication device 114 (herein below        referred to as a “first active communication session”). Once the        user 101 arrives at the cottage, the user 101 is desirous of        using the communication device 112 to join the active        communication session. At the same time, the aforementioned user        101′ within the customer premises 102 is engaged in a second        active communication session using the communication device 102        a.

The application server 130 may cause the network element 110 to informthe user 101 that two active communication sessions exist. For example,the network element 110 can present an audio message announcing to theuser 101 that two active communication sessions exist. In alternativenon-limiting embodiments of the present invention, the announcement maytake the form of a textual message or a combined audio-textual message.In yet further non-limiting embodiments of the present invention, theaudio, text or combination message may be presented to the user 101 viaanother suitable means (such as, for example, via an instant messagingapplication, a pop-up window in a computing apparatus and the like).

In a non-limiting embodiment of the present invention, the networkelement 110 may identify the first active communication session and thesecond active communication session by a respective network identifierassociated with the communication devices 114, 102 a. In alternativenon-limiting embodiments of the present invention, the applicationserver 130 may maintain an indication of an auxiliary identifier of eachof the subscribing communication devices 102 a, 102 b, 106, 112, 114,the auxiliary identifier being more amenable to being remembered andunderstood by the user 101 than the network identifiers. Some examplesof the auxiliary identifiers include, but are not limited to,“Home”/“Cottage”/“Office”, “Phone No. 1”/“Phone No. 2”/“Phone No. 3”.Naturally, other types of the auxiliary identifiers are possible. Theindication of the auxiliary identifier may be stored in theaforementioned subscription mapping 700. In these non-limitingembodiments of the present invention, the application server 130 maycause the network element 110 to identify the first and second activecommunication sessions by presenting to the user 101 the respectiveauxiliary identifier of the corresponding communication devices 114, 102a. In an alternative non-limiting embodiment of the present invention,the first and second active communication sessions may be identified byCLID information (such as a number, a name or a combination thereof) ofanother party to the first and second active communication sessions.

The network element 110 may further solicit an indication from the user101 of which one of the first and second active communication sessionsthe user 101 is desirous of joining. Next, the application server 130receives from the network element 110 the indication of which of thefirst and second active communication sessions the user 101 is desirousof joining. In some non-limiting embodiments of the present invention,the user 101 may provide the indication of which of the first and secondactive communication sessions the user 101 is desirous of joining by,for example, producing a spoken utterance indicative of which of thefirst and second active communication sessions the user 101 is desirousof joining, by keying in a pre-determined sequence of keys indicative ofwhich of the first and second active communication sessions the user 101is desirous of joining, by clicking a pre-determined key, link or buttonindicative of which of the first and second active communicationsessions the user 101 is desirous of joining. Naturally, the indicationof which of the first and second active communication sessions the user101 is desirous of joining may be provided by other means which willbecome apparent to those of skill in the art.

A Second Optional Enhancement

In an alternative non-limiting embodiment of the present invention,before executing step 680 of the method of FIG. 6 or step 850 of themethod of FIG. 8, the application server 130 may first causeannouncement via the active communication session to a user of thecommunication device who is engaged in the active communication sessionthat another communication device user wishes to join the activecommunication session.

This second optional enhancement can be particularly applicable in thefollowing scenario:

-   -   The user 101 has subscribing communication devices 102 a, 102 b,        106, 112, 114 with the application server 130 for the purposes        of the active communication session joining feature contemplated        herein. The user 101 is driving and is involved in an active        communication session using the communication device 114. The        aforementioned user 101′ at the customer premises 102 is about        to start a communication session using the communication device        102 a. By executing the method of FIG. 6, the application server        130 has determined that the active communication session is in        progress with the communication device 114.

Assuming that this second optional enhancement is executed before step630 of FIG. 6, in a first non-limiting example, the network element 118may present an audible signal to the communication device 114, such as,for example, a distinctive beep or a message. The message can take theform of, for example, a synthesized audible message: “Another caller istrying to join your communication session”. In a second non-limitingexample, the network element 118 may present a visual signal to thecommunication device 114 to be displayed on a display. This visualsignal may take a myriad of forms and its main function is to advise theuser of the communication device 114 that user 101′ is trying to jointhe active communication session. Naturally, a combination of the audioand the visual notification can be presented.

In these non-limiting embodiments of the present invention, the networkelement 118 may further solicit from the user 101 of the communicationdevice 114 an indication of permission for the communication device 102a to join the active communication session. The indication of allowancemay take a number of forms, such as for example, a spoken utterance“yes” or “no”, a pre-determined sequence of keys indicative of “yes” orno clicking of a pre-determined key, button or link. Naturally, theindication of allowance may be provided by any other suitable means.

In an alternative non-limiting embodiment of the present invention, thenetwork element 118 may announce to the user 101 that the user 101′ atthe communication device 102 a is trying to join the activecommunication session and to solicit from the user 101 an indication ofallowance for the communication device 102 a to join the activecommunication session by means other than via the active communicationsession. For example, the network element 118 may transmit an instantmessage to an instant message application executed on the communicationdevice 114 or another device; send a short text message to thecommunication device 114, send an e-mail message and the like. In analternative non-limiting embodiment of the present invention, anindication of allowance can be solicited from all parties involved inthe active communication session.

By executing this second optional enhancement, the user 101 may preventunwanted and/or unintentional “barging into” the active communicationmaintained by the user 101 on one of the subscribing communicationdevices.

In some embodiments of the present invention, this second optionalenhancement can be implemented together with the above-described firstoptional enhancement. Within these embodiments of the present invention,the network element 112 can solicit the indication of permission to jointhe active communication session before the active communication sessionjoin option is offered to the user 101′ or after the user 101′ hasindicated the desire to join the active communication session.

Even though the foregoing description has been provided with an exampleof the active communication session comprising a voice communicationsession, one skilled in the art will readily appreciate that the type ofthe active communication session is not particularly limited and mayinclude, but is not limited to, a video communication session, a textmessaging communication session, an instant messaging communicationsession and the like. It should be further understood that teachings ofthis invention are not limited to the VoIP protocol and one skilled inthe art can easily adapt the teachings presented herein to otherprotocols for handling voice-over-a-network communications.

It should be further understood that even though the foregoingdiscussion has focused on a plurality of subscribing communicationdevices being associated with a user, the teachings provided herein canbe equally applied to a plurality of subscribing communication devicesassociated with an entity other than a single user. This entity maycomprise an organization, a physical premises (such as, for example, ahousehold, an office, etc.), a plurality of users, etc.

Those skilled in the art will appreciate that certain functionality ofthe application server 130 and/or other elements of the infrastructuredescribed herein may be implemented as pre-programmed hardware orfirmware elements (e.g., application specific integrated circuits(ASICs), electrically erasable programmable read-only memories(EEPROMs), etc.), or other related components. In other embodiments,certain portions of the application server 130 and/or other elements maybe implemented as an arithmetic and logic unit (ALU) having access to acode memory (not shown) which stores program instructions for theoperation of the ALU. The program instructions could be stored on amedium which is fixed, tangible and readable directly by the applicationserver 130 and/or other elements, (e.g., removable diskette, CD-ROM,ROM, fixed disk, USB drive), or the program instructions could be storedremotely but transmittable to the application server 130 and/or otherelements via a modem or other interface device.

Persons skilled in the art will appreciate that there are yet morealternative implementations and modifications possible for implementingthe present invention, and that the above implementations and examplesare only illustrations of one or more embodiments of the presentinvention. The scope of the invention, therefore, is only to be limitedby the claims appended hereto.

1. A method for execution by a network element comprising: receivingfrom a first communication device an indication of a desire of saidfirst communication device to establish a communication session;identifying a device group associated with said first communicationdevice, said device group comprising said first communication device andat least one second communication device; responsive to said receivingand said identifying, determining if there exists an activecommunication session involving at least one of said at least one secondcommunication device; and responsive to determining that there doesexist an active communication session involving at least one of said atleast one second communication device, causing said first communicationdevice to join said active communication session.
 2. The method definedin claim 1, wherein said receiving comprises receiving a processingrequest from an other network element responsible for handlingcommunication sessions on behalf of said first communication device. 3.The method defined in claim 1, wherein said receiving comprisesreceiving a signalling message from said first communication device. 4.The method defined in claim 1, wherein said active communication sessionis a specific active communication session, and wherein said determiningcomprises: accessing a database mapping a network identifier of at leastone subscribing communication device to an indication of the at leastone subscribing communication device being engaged in an activecommunication session thereby to determine if any one of said at leastone second communication device is engaged in said specific activecommunication session.
 5. The method defined in claim 1, wherein saiddetermining comprises: transmitting a query to an other network elementresponsible for handling communication sessions on behalf of said atleast one second communication device; receiving a response therefrom,the response being indicative of whether there exists an activecommunication session involving at least one of said at least one secondcommunication device.
 6. The method defined in claim 1, said devicegroup being associated with a device group identifier, wherein saiddetermining comprises: transmitting a query to a plurality of networkelements, the query comprising said device group identifier; receiving aresponse from at least a subset of said plurality of network elements,the response being indicative of whether there exists an activecommunication session involving at least one of said at least one secondcommunication device.
 7. The method defined in claim 1, wherein saidcausing said first communication device to join said activecommunication session comprises transmitting a command to an othernetwork element responsible for handling communication sessions onbehalf of said at least one second communication device, the commandbeing operable to trigger said network element to cause said firstcommunication device to join said active communication session.
 8. Themethod defined in claim 7, said active communication session having beenestablished between said at least one second communication device and another communication party, wherein said command is operable to causesaid other network element to establish a three-way call between said atleast one second communication device, said first communication deviceand said other communication party.
 9. The method defined in claim 1,said active communication session having been established between saidat least one second communication device and another communicationparty, wherein said causing said first communication device to join saidactive communication session comprises transmitting a command to said atleast one second communication device, the command being operable totrigger said at least one second communication device to establish athree-way call between said at least one second communication device,said first communication device and said other communication party. 10.The method defined in claim 1, wherein said causing said firstcommunication device to join said active communication session comprisestriggering an other network element responsible for handlingcommunication sessions on behalf of said at least one secondcommunication device to: establish said communication session with saidfirst communication device; and bridge said communication session andsaid active communication session.
 11. The method defined in claim 1,wherein said causing said first communication device to join said activecommunication session comprises: establishing said communication sessionwith said first communication device; and bridging said communicationsession and said active communication session.
 12. The method defined inclaim 1, further comprising providing an alert to said at least onesecond communication device via said active communication session. 13.The method defined in claim 12, wherein said alert comprises at leastone of a visual alert, an audio alert and a tactile alert.
 14. Themethod defined in claim 12, further comprising soliciting from aparticipant of said active communication session via said activecommunication session an indication of permission for said firstcommunication device to join said active communication session.
 15. Themethod defined in claim 14, wherein said causing is executed only inresponse to receiving said indication of permission.
 16. The methoddefined in claim 1, said at least one second communication devicecomprising a second communication device and a third communicationdevice, wherein said determining comprises establishing that a firstactive communication session is in progress with said secondcommunication device; and wherein said determining further comprisesestablishing that a second active communication session is in progresswith said third communication device; and wherein the method furthercomprises: soliciting from said first communication device an indicationof which one of said first and second active communication sessions saidfirst communication device is desirous of joining.
 17. The methoddefined in claim 16, further comprising receiving from said firstcommunication device said indication of which one of said first andsecond active communication sessions said first communication device isdesirous of joining; and wherein said causing comprises: causing saidfirst communication device to join one of said first and second activecommunication sessions in accordance with said indication of which oneof said first and second active communication sessions said firstcommunication device is desirous of joining.
 18. The method defined inclaim 1, further comprising, responsive to determining that there doesexist an active communication session and prior to said causing:soliciting from said first communication device a dispositioninstruction, said disposition instruction indicative of how to handlesaid communication session.
 19. The method defined in claim 18, whereinsaid disposition instruction is indicative of one of: a firstinstruction to handle said communication session by causing said firstcommunication device to join said active communication session; and asecond instruction to handle said communication session by causing saidfirst communication device to establish a new communication session. 20.The method defined in claim 19, wherein said causing is executed only inresponse to receipt of said disposition instruction indicative of saidfirst instruction.
 21. An apparatus comprising: means for receiving froma first communication device an indication of a desire of said firstcommunication device to establish a communication session; said firstcommunication device being associated with a device group comprisingsaid first communication device and at least one second communicationdevice; means for determining if there exists an active communicationsession involving at least one of said at least one second communicationdevice; and means causing said first communication device to join saidactive communication session, said means for causing being responsive todetermining that there does exist an active communication sessioninvolving at least one of said at least one second communication device.22. A system comprising an application server operable: to receive froma first communication device an indication of a desire of said firstcommunication device to establish a communication session; said firstcommunication device being associated with a device group comprisingsaid first communication device and at least one second communicationdevice; to determine if there exists an active communication sessioninvolving at least one of said at least one second communication device;and responsive to determining that there does exist an activecommunication session involving at least one of said at least one secondcommunication device, to cause said first communication device to joinsaid active communication session.
 23. The system defined in claim 22,further comprising a network element responsible for handlingcommunication sessions on behalf of said first communication device;wherein said network element and said application server arecommunicatively coupled.
 24. The system defined in claim 22, furthercomprising a network element responsible for handling communicationsessions on behalf of said first communication device; wherein saidnetwork element and said application server are implemented in a singlecomputing apparatus.
 25. The system defined in claim 22, wherein toreceive said indication from said first communication device, theapplication server is operable to receive a processing request from anetwork element responsible for handling communication sessions onbehalf of said first communication device.
 26. The system defined inclaim 25, further comprising said network element; and wherein saidnetwork element is operable: to determine an off-hook condition at saidfirst communication device; to determine if said first communicationdevice is a subscriber to a communication session joining feature; andresponsive to said first communication device being a subscriber, totransmit said indication to said application server.
 27. The systemdefined in claim 25, further comprising said network element; andwherein said network element is operable: to determine an off-hookcondition at said first communication device; and based on said off-hookcondition, to transmit said indication to said application server. 28.The system defined in claim 25, further comprising said network element;and wherein said network element is operable: to receive a communicationrequest from said first communication device; to determine if said firstcommunication device is a subscriber to a communication session joiningfeature; and responsive to said first communication device being asubscriber, to transmit said indication to said application server. 29.The system defined in claim 25, further comprising said network element;and wherein said network element is operable: to receive a communicationrequest from said first communication device; and responsive to saidcommunication request, to transmit said indication to said applicationserver.
 30. The system defined in claim 22, wherein said activecommunication session is a specific active communication session, andwherein to determine if there exists an active communication sessionwith said at least one second communication device, the applicationserver is operable: to access a database mapping a network identifier ofat least one subscribing communication device to an indication of the atleast one subscribing communication device being engaged in an activecommunication session thereby to determine if any one of said at leastone second communication device is engaged in said specific activecommunication session.
 31. The system defined in claim 22, wherein todetermine if there exists an active communication session with said atleast one second communication device, the application server isoperable: to transmit a query to a network element responsible forhandling communication sessions on behalf of said at least one secondcommunication device; and to receive a response therefrom.
 32. Thesystem defined in claim 31, further comprising said network element,wherein said network element is operable to determine if there existssaid active communication session with said at least one secondcommunication device.
 33. The system defined in claim 22, said devicegroup being associated with a device group identifier, wherein todetermine if there exists an active communication session with said atleast one second communication device, the application server isoperable: to transmit a query to a plurality of network elements, thequery comprising said device group identifier; and to receive a responsefrom at least a subset of said plurality of network elements.
 34. Thesystem defined in claim 22, wherein to cause said first communicationdevice to join said active communication session, the application serveris operable to transmit a command to a network element responsible forhandling communication sessions on behalf of said at least one secondcommunication device, the command being operable to trigger said networkelement to cause said first communication device to join said activecommunication session.
 35. The system defined in claim 34, said activecommunication session having been established between said at least onesecond communication device and another communication party, whereinsaid command is operable to cause said network element to establish athree-way call between said first communication device, said at leastone second communication device and said other communication party. 36.The system defined in claim 22, said active communication session havingbeen established between said at least one second communication deviceand another communication party, wherein to cause said firstcommunication device to join said active communication session, theapplication server is operable to transmit a command to said at leastone second communication device, the command being operable to triggersaid at least one second communication device to establish a three-waycall between said at least one second communication device, said firstcommunication device and said other communication party.
 37. The systemdefined in claim 22, wherein to cause said first communication device tojoin said active communication session, the application server isoperable: to establish said communication session with said firstcommunication device; and to bridge said communication session and saidactive communication session.
 38. The system defined in claim 22,further comprising a network element responsible for handlingcommunication sessions on behalf of said at least one secondcommunication device, wherein to cause said first communication deviceto join said active communication session, the application server isoperable to trigger said network element to: establish saidcommunication session with said first communication device; and bridgesaid communication session and said active communication session. 39.The system defined in claim 22, wherein the application server isoperable to cause provision of an alert to said at least one secondcommunication device via said active communication session.
 40. Thesystem defined in claim 39, wherein said alert comprises at least one ofa visual alert, an audio alert and a tactile alert.
 41. The systemdefined in claim 39, wherein the application server is further operableto cause solicitation from a participant of said active communicationsession via said active communication session an indication ofpermission for said first communication device to join said activecommunication session.
 42. The system defined in claim 41, wherein areceipt of said indication of permission triggers the application serverto cause said first communication device to join said activecommunication session.
 43. The system defined in claim 22, said at leastone second communication device comprising a second communication deviceand a third communication device, wherein the system further comprisessaid first communication device, said at least one second communicationdevice and said third communication device; and wherein if theapplication server determines that a first active communication sessionis in progress with said at least one second communication device andthat a second active communication session is in progress with saidthird communication device, the application server is operable to:solicit from said first communication device an indication of which oneof said first and second active communication sessions said firstcommunication device is desirous of joining.
 44. The system defined inclaim 43, wherein the application server is further operable to receivefrom said first communication device said indication of which one ofsaid first and second active communication sessions said firstcommunication device is desirous of joining; and wherein to cause saidfirst communication device to join said active communication session,the application server is operable to: cause said first communicationdevice to join one of said first and second active communicationsessions in accordance with said indication of which one of said firstand second active communication sessions said first communication deviceis desirous of joining.
 45. The system defined in claim 22, furthercomprising a communication network intermediate between said applicationserver and said first and said at least one second communicationdevices.
 46. The system defined in claim 22, further comprising a firstcommunication network intermediate between said application server andsaid first communication device and a second communication networkintermediate between said application server and said at least onesecond communication device.
 47. The system defined in claim 22, whereinthe application server is further operable, responsive to adetermination that there does exist an active communication session andprior to causing said first communication device to join said activecommunication session: to solicit from said first communication device adisposition instruction, said disposition instruction indicative of howto handle said communication session.
 48. The system defined in claim47, wherein said disposition instruction is indicative of one of: afirst instruction to handle said communication session by causing saidfirst communication device to join said active communication session; asecond instruction to handle said communication session by causing saidfirst communication device to establish a new communication session. 49.The system defined in claim 48, wherein the application server isoperable to cause said first communication device to join said activecommunication session only in response to receipt of said dispositioninstruction indicative of said first instruction.
 50. A non-transitorycomputer-readable storage medium comprising computer-readable programcode which, when executed by a computing apparatus, causes the computingapparatus: to receive from a first communication device an indication ofa desire of said first communication device to establish a communicationsession; said first communication device being associated with a devicegroup comprising said first communication device and at least one secondcommunication device; to determine if there exists an activecommunication session involving at least one of said at least one secondcommunication device; and responsive to determining that there doesexist an active communication session involving at least one of said atleast one second communication device, to cause said first communicationdevice to join said active communication session.